Image processing device, image processing method, and program for performing direct printing which considers color matching processing based on a profile describing the input color characteristics of an image input device and the output color characteristics of an image output device

ABSTRACT

An image processing method is provided for an image processing device which processes images of printing data input from a computer device and an image input device via a predetermined communication line or a network. Printing instruction information of the printing data is analyzed, and determination is made as to whether a request for color matching processing based on a profile describing input color characteristics of an image input device and output color characteristics of an image output device is included in the printing instruction information. In the case that a request for the color matching processing is included in the printing instruction information, color matching processing is requested to be performed by the computer device on the network.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation of U.S. patent applicationSer. No. 11/265,992 filed Nov. 3, 2005, which claims priority fromJapanese Application No. 2004-321128 filed Nov. 4, 2004, the entirecontents of each of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing device, an imageprocessing method, and a program, relating to color matching processing.

2. Description of the Related Art

As the use of networks in offices and so forth has increased, deviceswhich provide network connection functionality to image forming devicessuch as digital photocopiers and printers have become widely used. Byusing such an image forming device, printing or scanning can beperformed via a network.

Also, the demand has increased for color image input devices, such asdigital cameras, and camera functionality is provided to mobileterminals such as portable telephones. Accordingly, demand has increasedfor sending photographed images directly from a color image input deviceto a color image output device such as a printer, for printing thephotograph.

Such a direct printing system which prints an image directly from aportable color image input device will be discussed. With such a system,color matching is performed on the printer side, using an ICC(International Color Consortium) profile, in order to realize colormatching between the color image input device and the printer.

A technology is proposed for performing color matching by driving amapping model on an operating system (OS), with a file format describingmeasurement values of an input/output device called DMP (Device ModelProfile) which uses XML (extensible Markup Language) descriptions.

The measurement values of an input device are the data showing the colorvalue (Lab value and so forth) in which the input device hasphotographed a color patch, and the correlation (input colorcharacteristics) of the color reading value of the color patch (the Labvalue and so forth which the color measurement values device outputs).

The measurement values of an output device are the data showing thecolor value (Lab value and so forth) in which the output device hasprinted a color patch, and the correlation (output colorcharacteristics) of the color measurement values of the color patch (theLab value and so forth which the color measurement values deviceoutputs).

FIG. 10 illustrates color matching processing using DMP, and theabove-described color matching processing is realized by a module calledColorTranslationEngine (hereinafter this will be called “CTE”).

In FIG. 10, the DMP (Device Model Profile) 4061 is data which isdescribed in XML format, and includes color information individual tothe input/output device, and color matching processing is performed witha method which is regulated by the device model 4062.

The device model 4062 performs conversion processing using a methoddetermined by a matching method 4063 which is separated into a baseline,which is a processing common to each input and output device, and aplug-in, which is individually set by a vendor. For example, it can bedetermined that a CRT (cathode ray tube) such as a monitor performs 3 by4 matrix operations, gamma correction processing, offset processing, andgain processing, and that an RGB (red-green-blue) printer performsthree-dimensional LUT (lookup table) conversion.

A color gamut model (GamutMap Models) 4064 is executed by a mappingalgorithm 4065 for each intent, which is separated into a baseline,which is a common process for running a mapping model which performscolor conversion, and a plug-in, which is individually set by a vendor.For example, in the case of Colorimetric, brightness clip processing isperformed, and so forth.

Now, a method which dynamically performs color matching based on aprofile describing the measurement values of an input/output devicerequires far higher processor processing capabilities, compared withcolor matching which uses a conversion table described in an ICCprofile. Accordingly, with direct printing, color matching using DMP isdifficult for a printer to perform.

SUMMARY OF THE INVENTION

The present invention provides direct printing which considers colormatching processing based on a profile describing the input colorcharacteristics of an image input device and the output colorcharacteristics of an image output device.

Also, the present invention provides relegation processing of the colormatching processing based on a profile describing the input colorcharacteristics of an image input device and/or the output colorcharacteristics of an image output device.

According to a first aspect of the present invention, an imageprocessing method is provided for an image processing device whichprocesses images of printing data input from a computer device and animage input device via a predetermined communication line or a network.The method includes analyzing printing instruction information of theprinting data; determining whether a request for color matchingprocessing based on a profile describing input color characteristics ofan image input device and output color characteristics of an imageoutput device is included in the printing instruction information; andif it is determined that the request for color matching processing isincluded in the printing instruction information, requesting the colormatching processing to the computer device on the network.

According to a second aspect of the present invention, an imageprocessing method is provided for an information processing device whichis connected to a network. The method includes receiving, from an imageprocessing device via the network, printing instruction informationwhich includes a request for color matching processing based on aprofile; setting the profile in the printing instruction information asinformation set for use in color match processing; and performing colormatching processing using information set for use in color matchprocessing.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an exemplary configuration of an imageprocessing system according to an embodiment of the present invention.

FIG. 2 is an external view of an exemplary configuration of a digitalphotocopier.

FIG. 3 is a block diagram illustrating a detailed configuration exampleof a controller of a multifunction printer (MFP).

FIG. 4 is a block diagram illustrating a detailed configuration exampleof a scanner image processing unit.

FIG. 5 is a block diagram illustrating a detailed configuration exampleof a printer image processing unit.

FIG. 6 is a block diagram illustrating a detailed configuration exampleof an image rotation processing unit.

FIG. 7 is a block diagram illustrating a detailed configuration exampleof an image compression processing unit.

FIG. 8 is a block diagram illustrating a detailed configuration exampleof a host computer.

FIG. 9 is a block diagram illustrating a detailed configuration exampleof a portable input device.

FIG. 10 illustrates color matching processing using DMP.

FIG. 11 is a flowchart illustrating a process for direct printing usinga portable input device and an MFP.

FIG. 12 is a diagram illustrating a configuration example of a jobticket.

FIG. 13 is a flowchart illustrating details of image processing of imagedata which includes a job ticket.

FIG. 14 is a diagram illustrating an example of a job ticket in the casethat there is determined to be a DMP file of a printer.

FIG. 15 is a diagram illustrating an example of a job ticket in the casethat a DMP file of a printer is determined not to exist.

FIG. 16 is a diagram illustrating an example of a job ticket forrelegating color matching processing with a computer.

FIG. 17 is a flowchart showing details of relegated processing with acomputer.

FIG. 18 is a diagram illustrating an example of a job ticket in which amonitor DMP is set in the case that there is no DMP information of animage input device.

FIG. 19 is a flowchart illustrating a modification example of imageprocessing of image data including a job ticket.

FIG. 20 is a diagram illustrating one example of a user interface forquerying a user as to whether or not color matching processing is to beperformed.

DESCRIPTION OF THE EMBODIMENTS First Embodiment

Exemplary embodiments of image processing according to the presentinvention will be described in detail below while referencing theattached diagrams.

Overview of Image Processing System

FIG. 1 illustrates an image processing system according to an embodimentof the present invention. As illustrated in FIG. 1, the image processingsystem includes a computer 101 and a multifunction printer (hereinafterreferred to as an “MFP”) 102 which are interconnected via a network 100.

In general, an Ethernet is used for the network (hereinafter referred toas “LAN” (local area network)) 100, and performs information sending andreceiving, as well as data transfer, between the various devices whichare connected to the LAN 100, with a TCP/IP (Transmission ControlProtocol/Internet Protocol) using a physical cable such as a 100BaseT.

The computer 101 sends printing information which is formed of drawingcommands (including character printing commands, various types of shapedrawing commands, image drawing commands, color specification commands,and so forth) to the MFP 102.

The MFP 102 draws character patterns, figures, images, and so forth, soas to form an image on a recording sheet which is a recording medium(printing function), according to the drawing commands of the printinginformation received from the computer 101 or a portable input device103. Also the MFP 102 can form an image on the recording sheet which isread from an original document (copying function).

The portable input device 103 is a portable telephone, a digital camera,or the like, which provides a wired or wireless communication functionand an image output function.

MFP Configuration

FIG. 2 is an external view of an exemplary configuration of a digitalphotocopier, which is a specific example of the MFP 102. As illustratedin FIG. 2, the MFP 102 can be largely divided into an image reader 201which reads an original document image, a printer 202 which prints theimage read by the image reader 201, and an operating unit 203 forsetting the various operations of the MFP 102.

The image reader 201 reads the original document image with a resolutionof 400 dpi (dots per inch), for example, and performs digital signalprocessing. When the user sets the original document in a tray 204, andinstructs reading of the original document image by the operating unit203, the image reader 201 which is controlled by a controller 300 of theMFP 102 feeds the original document one sheet at a time by a feeder 205,and reads the original document image.

The operating unit 203 provides setting of various actions of the MFP102 such as copying actions, and also provides a user interface whichdisplays the operation status of the MFP 102.

The printer 202 prints the image corresponding to the original documentimage read by the image reader 201 in full color onto recording sheetswith a specified resolution of 400 dpi, for example, and ejects thisinto a discharge tray 206. The printer 202 has multiple paper supplylevels so as to select the size or direction of the recording sheet, andis provided with corresponding recording sheet cassettes 207, 208, and209.

FIG. 3 is a block diagram illustrating a detailed configuration exampleof the controller 300 of the MFP 102. As illustrated in FIG. 3, thecontroller 300 is connected to the image reader 201 or the printer 202via a device interface 311, to the operating unit 203 via an operatingunit interface 306, and to a LAN 100 via a network interface 308.Accordingly, the controller 300 can input and output printinginformation, image information, device information, and job ticketinformation which will be described later, with the computer 101connected to the LAN 100.

A central processing unit (CPU) 301 uses random access memory (RAM) 302as a work area, and controls the MFP 102 via a system bus 307, accordingto a control program stored in read-only memory (ROM) 303 or a hard diskdrive (HDD) 304. The RAM 302 is used as a work area for the CPU 301, andalso is used as memory for temporarily storing image data and so forth.The HDD 304 stores system software, programs for processing to bedescribed later, image data, and so forth. Non-volatile memory (NVRAM)316 stores the user setting information which is input from theoperating unit 203 into the CPU 301 via an operating unit interface 306.

A job ticket processing unit 317 analyzes or sets the description of ajob ticket (printing instruction information) which is attached to theimage data. The job ticket processing unit 317 can be implemented usingvarious configurations, e.g., independent hardware or software executedby the CPU 301, etc.

A general purpose interface 318 performs data communication with theportable input device 103, and is a serial bus interface such as USB(Universal Serial Bus) or IEEE 1394, for example. Also, this can be aninfrared communication interface, or a wireless communication such asBluetooth, and can be an interface for performing data communicationwith devices such as the portable input device 103.

A bus bridge 305 bridges the system bus 307 and an image bus 309 whichtransfers image data at high speed, and converts data formats betweenboth buses. The image bus 309 is a PCI (Peripheral ComponentInterconnect) bus or a serial bus such as IEEE 1394.

A raster image processor (RIP) 310 interprets printing informationdescribed in a page description language (hereinafter referred to as“PDL code”) received from the network 100, and performs rendering in adrawing bitmap image and an attribute bitmap image. The device interface311 is connected to the controller of the image reader 201 and theprinter 202 which are the image input/output devices, and performssynchronous/asynchronous conversion of the image data.

A scanner image processing unit 312 performs processing such asfiltering processing, color space conversion and editing processing asneeded, to the image data input from the image reader 201. A printerimage processing unit 313 performs resolution conversion,brightness/density conversion, masking correction, under-color removal(UCR), gamma correction, halftone processing and so forth as needed, tothe image data output into the printer 202.

An image rotation processing unit 314 performs rotation of the image. Animage compression processing unit 315 performs compression/decompressionprocessing for multi-value image data with a JPEG (Joint Photographicimage coding Experts Group) method. Also, the imagecompression/decompression processing unit 315 performscompression/decompression processing using a JBIG (Joint Bi-level ImageGroup) method, an MMR (Modified Modified READ), or an MH (ModifiedHuffman), for binary image data.

Scanner Image Processing Unit

FIG. 4 is a block diagram illustrating a detailed configuration exampleof the scanner image processing unit 312. In FIG. 4, an image businterface controller 3121 is connected to the image bus 309, andcontrols the bus access sequence, and also generates a timing signal tobe supplied to the various units for the purpose of controlling thevarious units within the scanner image processing unit 312 andtransferring image data.

The filter processing unit 3122 is a spatial filter for performingconvolution computation. The input color correction processing unit 3123is a three-dimensional lookup table (3DLUT) which converts the colorspace of the image data input from the filter processing unit 3122 intoan appropriate color space.

An editing unit 3124 recognizes the closed region enclosed with a markerpen from the input image data, for example, according to theinstructions input from the CPU 301 via the image bus interfacecontroller 3121, and performs processing such as shading, hatching, andnegative/positive reversal of the image data within this closed region.

A scaling processing unit 3125, performs enlarging processing byinterpolating in the primary scanning direction of the raster image, andperforms reduction processing by thinning out processing, according tothe instructions input from the CPU 301 via the image bus interfacecontroller 3121. As a result, the resolution (image size) in the primaryscanning direction of the input image data is converted. Scaling in thesecondary scanning direction is performed by changing the scanning speedof a line sensor (not shown) which reads the image with the image reader201.

Printer Image Processing Unit

FIG. 5 is a block diagram illustrating a detailed example of the printerimage processing unit 313. In FIG. 5, an image bus interface controller3131 is connected to the image bus 309, and controls the bus accesssequence, and also generates a timing signal to be supplied to thevarious units for the purpose of controlling the various units withinthe printer image processing unit 313 and transferring image data.

A resolution conversion processing unit 3132 converts the image datainput from the image reader 201 or via the network interface 308 to therecording resolution of the printer 202.

An output color correction processing unit 3133 converts the image dataoutput from the resolution conversion processing unit 3132 into CMYK(Cyan-Magenta-Yellow-Key/black) data for the printer 202, by usinginterpolation processing which uses a 3D LUT matching thecharacteristics of the printer engine of the printer 202.

A density correction processing unit 3134 subjects the image data outputfrom the output color correction processing unit 3133 to gammacorrection for linearization of recording density characteristics, usinga density correction table matching the density reproductioncharacteristics of the printer engine of the printer 202.

A halftone processing unit 3135 converts the multi-value image dataoutput from the density correction processing unit 3134 into image datawith a predetermined number of tones, using an error diffusionprocessing or a screen processing.

The output color correction processing unit 3133, the density correctionprocessing unit 3134, and the halftone processing unit 3135 eachmaintain multiple processing parameters, and select the processingparameters according to an attribute bitmap image output by the RIP 310.The printer image processing is performed using the selected processingparameters thereof.

Image Rotation Processing Unit

FIG. 6 is a block diagram illustrating a detailed configuration exampleof an image rotation processing unit 314. In FIG. 6, an image businterface controller 3141 is connected to the image bus 309, andcontrols the bus access sequence, and also generates a timing signal tobe supplied to the various units for the purpose of controlling thevarious units within the image rotation processing unit 314 andtransferring image data.

The image rotation unit 3142 performs rotation processing of the imageusing a RAM 3143, according to the instructions (including rotationdirection and angle of the image) which are input from the CPU 301 viathe image bus interface controller 3141.

Image Compression Processing Unit

FIG. 7 is a block diagram illustrating a detailed configuration exampleof an image compression processing unit 315.

In FIG. 7, an image bus interface controller 3151 is connected to theimage bus 309, and controls the bus access sequence, and also generatesa timing signal to be supplied to the various units for the purpose ofcontrolling the various units within the image compression processingunit 315 and transferring image data.

The image bus interface controller 3151 also performs timing control forperforming data exchange between an input buffer 3152 and an outputbuffer 3155, and control for mode setting as to the image compressionunit 3153.

An image compression/decompression unit 3153 compresses or decompressesthe image data which is buffered by the input buffer 3152, using a RAM3154, according to the instructions (including instructions forcompression or decompression, and compression methods) which are inputfrom the CPU 301 via the image bus interface controller 3141.Subsequently, image data obtained as the results of compression ordecompression is written to the output buffer 3155.

Computer Configuration

FIG. 8 is a block diagram illustrating a configuration example of a hostcomputer 101. In FIG. 8, the computer 101 provides a user interface.This computer 101 is connected to a keyboard 410, a mouse 411, and amonitor 412 via a device interface 408, for inputting instructions fromthe user. The computer 101 is connected to the LAN 100 via a networkinterface 405. Accordingly, the computer 101 can communicate with theMFP 102 connected to the LAN 100 in order to input and output printinginformation, image information, device information, job ticketinformation and so forth.

A CPU 401 uses a RAM 402 as a work area, and executes a basicinput/output system (BIOS) stored in a ROM 403 or an operating system(OS) stored in an HDD 404. Also, the CPU 401 controls the computer 101via a system bus 409, and also executes various software which is storedin the HDD 404. As a result, the CPU 401 performs processing on thevarious types of data temporarily stored in the RAM 402 or the varioustypes of data stored in the HDD 404.

A driver image processing unit 406 performs correction on the inputimage data (to be described later), and the job ticket processing unit407 analyzes or sets the descriptions such as the printing instructioninformation attached to the image data (which will be described later).The driver image processing unit 406 and a job ticket processing unit407 can be configured in various ways, for example, as independenthardware or by software executed by the CPU 401.

Portable Input Device

FIG. 9 is a block diagram illustrating a detailed configuration exampleof a portable input device 103. The portable input device 103 includes aliquid crystal display (LCD) display unit 1039 (hereinafter referred toas “LCD display unit”), as with a portable telephone or a digitalcamera, and an operating unit 1040 that has operating keys such as anumeric keypad. The exemplary portable input device shown in FIG. 9 alsoincludes a telephone function unit 1031 for functioning as a wirelesstelephone and a camera function unit 1032 for functioning as a digitalcamera.

The exemplary portable input device shown in FIG. 9 also includes acontrol unit 1033 which has a CPU 1034, a ROM interface 1035, a RAM 1036and a ROM 1037. The CPU 1034 controls the input device 103. The CPU 1034may be, for example, a one-chip microprocessor. The RAM 1036 is used fortemporarily storing images which are photographed by the camera functionunit 1032 and the work area of the CPU 1034. The ROM 1037 storesinformation as a portable telephone (such as a telephone number,authentication information, password and so forth for the deviceitself), and color property information as a digital camera, and isconnected to the CPU 1034 via the ROM interface 1035. The RAM 1036 andthe ROM 1037 are attached to the portable input device 103 so as to bedetachable as necessary.

The portable input device 103 also includes an external expansioninterface (hereinafter referred to as “external connection interface”)1038. For example, wireless data communication with other devices can beperformed by attaching a wireless interface card such as infraredcommunication or Bluetooth onto the external connection interface 1038.If the external connection interface 1038 is a serial bus USB (UniversalSerial Bus) or IEEE 1394 which are general purpose interfaces, this isnot limited to wireless data communication, and wired data communicationcan also be performed with other devices. With the present exemplaryembodiment, the external expansion interface 1038 of the portable inputdevice 103 and the general purpose interface 318 of the MFP 102 areconnected by cable, or by infrared or other wireless means, and datacommunication is performed. Also, a removable storage medium, such as anIC (integrated circuit) card or a USB memory can be connected to theexternal expansion interface 1038. As a result, the information as aportable telephone or the information registered by the user (such asthe telephone number of the other communication party) can be stored innot only the RAM 1036 or the ROM 1037 but also in the removable storagemedium.

Procedures for Direct Printing Based on User Instructions

FIG. 11 is a flowchart illustrating processing for direct printing witha portable input device 103 and an MFP 102. When the user connects theMFP 102 and the portable input device 103 by cable, or by infrared orother wireless connection, the CPU 1034 of the portable input device 103executes the control program which is stored in the ROM 1037. The CPU301 of the MFP 102 then executes a control program which is stored inthe ROM 303 and/or the HDD 304, thus realizing the features of thepresent invention.

In the following description, processing under the control of the CPU301 of the MFP 102 and of the CPU 1034 of the portable input device 103will be described, for the sake of simplification.

When the MFP 102 and the portable input device 103 are connected, theMFP 102 displays a user interface screen for the purpose of printing(Step S1). The display of the user interface screen can be one or theother of the operating unit 203 or the LCD display unit 1039.

In Step S2, it is determined whether printing has been instructed at theMFP 102. When the user operates the user interface screen of the MFP 102and instructs printing (yes in Step S2), the MFP 102 requests printingdata from the portable input device 103 (Step S3).

When the portable input device 103 receives a request for printing data(Step S11), the portable input device 103 sends image data including ajob ticket as the printing data to the MFP 102 (Step S12), and returnsthe process to Step S11.

FIG. 12 is a diagram illustrating a configuration example of a jobticket, and the tag configuration has a basic setting portion and animage processing setting portion, each of which are described asspecific keywords. The job ticket can be attached to the image data.

The MFP 102 which has received the printing data performs imageprocessing of the image data including the job ticket (Step S4),controls the printer 202, and prints the image based on the image dataaccording to the print data on which image processing has been performed(Step S5). When the printing is finished, the fact that printing hasfinished is displayed on the user interface screen (Step S6), and theMFP 102 returns the process to Step S1.

The above processing is repeated until the connection between the MFP102 and the portable input device 103 is terminated.

Image Processing of Received Image Data (Step S4)

FIG. 13 is a flowchart illustrating details of the image processing(Step S4) of the image data including the job ticket. The CPU 401 of thecomputer 101 then executes a control program which is stored in the HDD404, and the CPU 301 of the MFP 102 executes a control program which isstored in the ROM 303 and/or the HDD 304, thus realizing the features ofthe present invention. In the following description, processing underthe control of the CPU 301 of the MFP 102 and the CPU 401 of thecomputer 101 will be described, for the sake of simplification.

The MFP 102 analyzes the received job ticket (Step S101) with the jobticket processing unit 317. The MFP 102 determines whether or not thereis a tag (<UseCITE=“True”/>) requesting color-matching processing withinthe analyzed job ticket (Step S102). In the event that there is not arequest for color-matching processing (no in Step S102), the flowadvances to Step S114. ON the other hand, in the event that there is arequest for color-matching processing (yes in Step S102), a search isperformed on the HDD 304 for a DMP (Device Model Profile) filedescribing the measurement values of the printer 202 (Step S103), and adetermination is made as to whether or not there is a DMP file (StepS104). The measurement values are as described in the Related Art.

In the event that there is a DMP file of the printer 202 (yes in StepS104) the MFP 102 adds printer DMP file information within the CMS Infotag of the job ticket with the job ticket processing unit 317, asillustrated in FIG. 14 (S105). This description is, for example,<DMPType=“Printer”/> <DMPName=“PrnXXX.xml”/>. Then the DMP file isattached to the job ticket. In the event that there is not a DMP filefor the printer 202 (no in Step S104), the job ticket processing unit317 attaches a description illustrating printer information within theCMS Info tag of the job ticket, as illustrated in FIG. 15 (Step S106).This description is, for example, <DeviceType=“Printer”/><DeviceName=“PrnXXX”/>.

After adding DMP file information to the job ticket (Step S105) oradding printer information to the job ticket (Step S106), the MFP 102changes the UseCITE tag of the job ticket to <UseCITE=“Host”/> with thejob ticket processing unit 317, as illustrated in FIG. 16, in order torelegate the color-matching processing to the computer 101 (Step S107).Then, image processing is requested of the computer 101 (Step S108). Forexample the image processing is requested of a computer 101 which hasCTE installed as an operating system.

The computer 101 which has received the request for image processingfrom the MFP 102 establishes a connection with the MFP 102, and requestsa job ticket and image data from the MFP 102 (Step S121). The MFP 102which has received this request sends a job ticket and the image data tothe computer 101 (Step S109).

The computer 101 which has received the job ticket and the image dataanalyzes the job ticket with the job ticket processing unit 407 (StepS122). Then according to the analysis result thereof, the computer 101performs color-matching processing on the received image data using theDMP file, with the driver image processing unit 406 (Step S123), thedetails of which will be described later. Next, the UseCITE tag of thejob ticket is changed to color-matching with processing completed status(<UseCITE=“Complete”/>) (Step S124) using the job ticket processing unit407, and sends the job ticket to the MFP 102 (Step S125).

The MFP 102 which has received the job ticket analyzes the job ticketwith the job ticket processing unit 317 (Step S110). Then the MFP 102determines whether or not the color-matching processing is relegated(Step S111). In the event it has been relegated (yes in Step S111), thecomputer 101 is requested to send the image data after image processing(Step S112). The computer 101 which has received a sending request forthe image data sends this image data to the MFP 102 (Step S126). The MFP102 which has received the image data controls the printer imageprocessing unit 313 and performs printer image processing on thereceived image data, according to the job ticket, and causes the printer202 to print the image (Step S113), and finishes the process.

Determination is made as to whether the color-matching processing isrelegated (<UseCITE=“Disable”/>), and whether there has been a requestfor color-matching processing (no UseCITE tag in the job ticket, or<UseCITE=“false”/) (Step S111).

If color matching has not been relegated (no in Step S111), the MFP 102embeds a comment in the job ticket to indicate that the color-matchingprocessing has not been executed by the job ticket processing unit 317(Step S114), and advances the process to Step S113.

In the event that color-matching processing is not relegated in StepS111, if there is an ICC profile for the portable input device 103 andthe MFP 102, the CPU 301 of the controller 300 can performcolor-matching processing using this ICC profile.

Relegated Processing by Computer (Step S123)

FIG. 17 is a flowchart illustrating the details of the relegationprocess (Step S123) performed by the computer 101. The CPU 401 of thecomputer 101 executes a control program which is stored in the HDD 404,thus realizing the features of the present invention. The followingprocessing is performed under the control of the CPU 401 of the computer101.

The computer 101 analyzes the received job ticket with the job ticketprocessing unit 407 (Step S122 in FIG. 13), and determines whether ornot there is any DMP information describing the measurement values ofthe image input device within the CMS Info tag of the job ticket (StepS131). From the results of the determination, if there is DMPinformation (yes in Step S131), a DMP file specified by this DMPinformation is set in the input DMP (Step S132), and if there is no DMPinformation (no in Step S131), a default DMP file set in the computer101 is set in the input DMP (Step S133).

FIG. 18 is a diagram illustrating one example of a job ticket in thecase that there is no DMP information for the image input device andthus of setting a default input DMP (monitor DMP in FIG. 18), which wasset in the computer 101. Specifically, the description<DMPType=“Monitor”/> <DMPName=“MonXXX.xml”/> applies.

Next, the computer 101 determines whether or not there is any DMPinformation for the image output device within the CMS Info tag of thejob ticket (Step S134). From the results of the determination, if thereis no DMP information for the image output device (no in Step S134),determination is made as to whether or not there is a DMP filecorresponding to the printer described in the DeviceType tag within theCMS Info tag of the job ticket in the HDD 404 (or in the server on thenetwork 100) (Step S135).

From the results of this reading, in the event that there is DMPinformation in the job ticket (yes in Step S134), or in the event thereis a DMP file corresponding to the printer described in the Device typetag (yes in Step S135), the corresponding DMP file is set as the outputDMP (Step S136). On the other hand, in the event there is no DMPinformation (no in Step S134), nor a DMP file corresponding to theprinter (no in Step S135), the UseCITE tag of the job ticket is changedto color-matching disabled, shown by <UseCITE=“Disable”/> with the jobticket processing unit 407 (Step S137). The changed job ticket is sentto the MFP 102 (Step S125 in FIG. 13).

After setting the output DMP, the computer 101 executes color-matchingprocessing on the image data which is received by the driver imageprocessing unit 406, according to the description in the CMS Info tag onthe job ticket (Step S138). To use the job ticket illustrated in FIG. 14as an example, a Perceptual mapping algorithm is selected from the colorgamut model (4064 of FIG. 10) based on <IntentType=“Perceptual”/>, andcolor-matching processing is performed.

Next, the computer 101 changes the UseCITE tag of the job ticket to<UseCITE=“Complete”/> with the job ticket processing unit 407 (Step S124in FIG. 13), and sends the job ticket to the MFP 102 (Step S125 in FIG.13).

In the event that there is DMP information, setting the input (oroutput) DMP as the DMP file specified by this DMP information refers toremoving the DMP file specified with a DMPName tag from the job ticket(see FIG. 12) and setting it.

Thus, when performing direct printing by using an MFP 102 and a portableinput device 103 having a camera function such as a portable telephoneor a digital camera, a configuration is used in which the colorprocessing information is described on the job ticket in XML. As aresult, the input DMP and output DMP are set, and color-matchingprocessing can be relegated to a computer 101 which is capable ofexecuting color-matching processing with CTE, for example.

In the event that no input DMP is specified in the job ticket, it can berelegated to the default input DMP of the computer 101. Further, in theevent that no output DMP is specified in the job ticket, a DMP filecorresponding to the printer information described in the DeviceType tagcan be looked up from the computer 101 or the server, and color-matchingprocessing can be executed. Thus, direct printing can be provided whichtakes into consideration the color-matching processing based on theprofile describing the input/output color characteristics of the imageinput/output device. Also, relegation processing can be performed forcolor-matching processing based on the profile describing theinput/output color characteristics of the image input/output device.

Modifications

In the above descriptions, an example has been given wherein, in thecase of performing direct printing using the portable input device 103or the MFP 102, if there is a tag for performing color-matchingprocessing, the computer is requested to perform color-matchingprocessing using DMP. However, the user can be queried as to whether ornot color-matching processing using DMP will be performed.

FIG. 19 is a flowchart illustrating a modified example of the imageprocessing (Step S4) of the image data including the received job ticketillustrated in FIG. 13. The point differing from the process illustratedin FIG. 13 is the point in which the user is queried (Step S1903) viathe operating unit 203 as to whether or not color-matching processingusing DMP will be performed. In the event that the instruction via theoperating unit 203 is to perform color-matching, the process branches toStep S103 and performs the same process as described using FIG. 13. Inthe event that the instruction via the operating unit 203 is to notperform color-matching, the process branches to Step S114 andcolor-matching processing is not executed.

FIG. 20 is a diagram illustrating one example of a user interface forthe purpose of querying the user as to whether or not color-matchingprocessing is to be performed, which the CPU 301 displays on theoperating unit 203 of the MFP 102 in Step S1903. Also, the CPU 301 caninstruct the CPU 1034 of the portable input device 103 via the networkinterface 308, and a screen can be displayed on the LCD display unit1039 for the user to select whether or not to perform color-matchingprocessing.

In the event that direct printing is performed using the portable inputdevice 103 with an image photographing function such as portabletelephone or a digital camera, and an MFP 102, the following can occur.In the event that the color-matching processing using DMP is describedin the color setting information of the job ticket in XML descriptionformat, such as with CTE, the user can select whether or not to performcolor-matching processing. Then only in the case in which the userselects to perform color-matching processing, the input DMP and theoutput DMP is set, and relegation processing is performed with acomputer 101 capable of color-matching processing. Thus, transferringthe image data to the computer 101 and having the computer 101 performcolor-matching processing even when color-matching processing is notnecessary does not happen.

Therefore, unnecessary traffic increase on the network 100 andunnecessary use of the resource of the computer 101 can be prevented.

In the event that the instruction from the user interface in FIG. 20 isnot to perform color-matching processing using DMP, if there is an ICCprofile for the portable input device 103 and the MFP 102, the CPU 301can perform color-matching processing using this ICC profile.

Also, in the above descriptions, description has been made as to how theCPU 301 of the MFP 102 selects the computer to request thecolor-matching processing. The following are available as selectionmethods. (1) A list of computers (IP addresses thereof) which can beused on the network 100 is registered on the HDD 304 of the MFP 102 inadvance, and the CPU 301 references this list and selects a computer torequest the color-matching processing. (2) The CPU 301 queries thecomputers on this list in order of priority, and places the request withthe computer from which a response is received that color-matchingprocessing can be performed. (3) The MFP 102 queries the computers onthe network 100 which can be requested to perform color-matchingprocessing, and according to the responses thereof, selects a computerwhich can be requested to perform color-matching processing.

Also, in the above description, an example has been described whereinthe MFP 102 and the portable input device 103 are connected via ageneral-purpose interface 318. For example, if the portable input device103 corresponds to a wireless network such as IEEE802.11a/b/g, and has awireless router or a wireless hub corresponding to similarspecifications on the LAN 100, the MFP 102 and the portable input device103 can be connected via the LAN 100.

Other Embodiments

The present invention can be applied to a system including multipledevices (for example, a host computer, an interface device, a reader, aprinter, and so forth), or can be applied to an integral device (forexample, a photocopier, a facsimile device, and so forth).

Also, an arrangement may be made wherein storage medium (or a recordingmedium) in which the program code (software) realizing the functions ofthe above-described embodiments are recorded is supplied to a system ora device, and the above-described embodiments are realized with aconfiguration wherein the computer (or CPU or MPU (micro-processingunit)) of the system or device reads and executes the program codestored in the storage medium. In this case, the program code itselfwhich is read from the storage medium realizes the functions of theabove-described embodiments. Also, this program code and the storagemedium storing the program make up the present invention.

Further, an arrangement may be made wherein the program code read fromthe storage medium is written to memory on a function expansion cardinserted into the computer or a function expansion unit connected to thecomputer, and part or all of the actual processing is performed by a CPUprovided to the function expansion unit or the function expansion cardbased on the instructions of this program code.

In the event that the above-mentioned storage medium is applied to thepresent invention, the program code corresponding to the above-describedflowcharts is stored in this storage medium.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all modifications, equivalent structures and functions.

1. A data processing method comprising: receiving, from an imageprocessing device via a network, a request for a color matchingprocessing based on a profile described in XML (eXtensible MarkupLanguage); performing the color matching processing using the profiledescribed in XML; and sending processed data to the image processingdevice.
 2. The data processing method according to claim 1, wherein theimage processing device is a printer.
 3. A data processing devicecomprising: a receiver configured to receive a request for a colormatching processing based on a profile described in XML (eXtensibleMarkup Language) from an image processing device via a network; aprocessor configured to perform the color matching processing using theprofile described in XML; and a sender configured to send processed datato the image processing device.
 4. The data processing device accordingto claim 3, wherein the image processing device is a printer.
 5. Anon-transitory computer-readable medium storing a program for causing acomputer to execute a data processing method according to claim 1.